package com.itjin.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.itjin.model.domain.dto.AddUserDTO;
import com.itjin.model.domain.dto.EditUserDTO;
import com.itjin.model.domain.entity.User;

public interface MangerService extends IService<User> {
  /**
   * 分页查询用户
   * 
   * @param current 当前页
   * @param size    每页大小
   * @return 分页结果
   */
  Page<User> listUsersByPage(int current, int size, String keyword);

  /**
   * 添加用户
   * 
   * @param addUserDTO 用户信息
   * @return 添加结果
   */
  boolean addUser(AddUserDTO addUserDTO);

  /**
   * 编辑用户
   * 
   * @param editUserDTO 用户信息
   * @return 是否成功
   */
  boolean editUser(EditUserDTO editUserDTO);

  /**
   * 重置用户密码
   * 
   * @param userId 用户ID
   * @return 是否成功
   */
  boolean resetUserPassword(Integer userId);

  /**
   * 修改用户密码
   * 
   * @param userId          用户ID
   * @param currentPassword 当前密码
   * @param newPassword     新密码
   * @return 是否成功
   */
  boolean changePassword(Integer userId, String currentPassword, String newPassword);
}
